package com.cheyun.netsalev3.utils

import com.cheyun.netsalev3.bean.CallParam
import com.cheyun.netsalev3.bean.records.*
import java.text.SimpleDateFormat
import java.util.*

class RecordsComparator : Comparator<Any> {
    val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")


    override fun compare(o1: Any?, o2: Any?): Int {
        //当返回0的时候排序方式是 o1,o2
        //当返回1的时候排序方式是 o2,o1
        //当返回-1的时候排序方式是o1,02
        var o2time: Date? = null
        var oltime: Date? = null
        if (o1 is CallParam) {
            oltime = simpleDateFormat.parse(o1.followtime)
        }
//        if (o1 is Follow) {
//            oltime = simpleDateFormat.parse(o1.followtime)
//        }
//        if (o1 is Transfer) {
//            oltime = simpleDateFormat.parse(o1.followtime)
//        }
        if (o1 is HotInfo) {
            oltime = simpleDateFormat.parse(o1.followtime)
        }
        if(o1 is PurchaseInfo){
            oltime = simpleDateFormat.parse(o1.dateline)
        }
//        if(o1 is Reserve){
//            oltime = simpleDateFormat.parse(o1.dateline)
//        }
        if (o2 is CallParam) {
            o2time = simpleDateFormat.parse(o2.followtime)
        }
//        if (o2 is Follow) {
//            o2time = simpleDateFormat.parse(o2.followtime)
//        }
//        if (o2 is Transfer) {
//            o2time = simpleDateFormat.parse(o2.followtime)
//        }
        if (o2 is HotInfo) {
            o2time = simpleDateFormat.parse(o2.followtime)
        }
        if(o2 is PurchaseInfo){
            o2time = simpleDateFormat.parse(o2.dateline)
        }
//        if(o2 is Reserve){
//            o2time = simpleDateFormat.parse(o2.dateline)
//        }
        //1使用Date的compareTo()方法，大于、等于、小于分别返回1、0、-1
        o2time?.compareTo(oltime)?.apply {
            return this

        }
        return 0
    }
}